import { trpc } from '~/utils/trpc' import PageHeading from '~/components/PageHeading' import IVSpinner from '~/components/IVSpinner' import NotFound from '~/components/NotFound' import { useHasPermission } from '~/components/DashboardContext' import { dateTimeFormatter } from '~/utils/formatters' import IconPlay from '~/icons/compiled/Play' import { useOrgParams } from '~/utils/organization' /** * This is only for production actions. */ export default function ActionPage() { const { orgEnvSlug, ...params } = useOrgParams<{ '*': string }>() const actionSlug = params['*'] as string const action = trpc.useQuery(['action.one', { slug: actionSlug }]) useHasPermission('READ_PROD_ACTIONS', { redirectToDashboardHome: true, }) const canRunActions = useHasPermission('RUN_PROD_ACTIONS') if (action.isLoading) { return } if (!action.data) { return } // TODO: do we need to check RUN_PROD_ACTIONS here too? API should give us a single value for this const canRunAction = canRunActions && action.data.canRun return (
Run ), disabled: !canRunAction, href: `/dashboard/${orgEnvSlug}/actions/${actionSlug}`, }, ]} />
Created
{dateTimeFormatter.format(action.data.createdAt)}
Updated
{dateTimeFormatter.format(action.data.updatedAt)}
) }